package locacao.negocio.to;

import java.sql.Date;

public class RentACarTO {
	private ClienteTO cliente;
	//private EnderecoTO endereco;
	private FaturaTO fatura;
	private FuncionarioTO funcionario;
	private ItemServicoTO itemServico;
	private ItemVeiculoTO itemVeiculo;
	private LocacaoTO locacao;
	private PessoaTO pessoa;
	private ServicoTO servico;
	private VeiculoTO veiculo;
	
	/**
	 * 
	 */
	public RentACarTO(){
		setVeiculo(new VeiculoTO());
		setCliente(new ClienteTO());
		//setEndereco(new EnderecoTO());
		setFatura(new FaturaTO());
		setFuncionario(new FuncionarioTO());
		setItemServico(new ItemServicoTO());
		setItemVeiculo(new ItemVeiculoTO());
		setLocacaoTO(new LocacaoTO());
		setPessoa(new PessoaTO());
		setServico(new ServicoTO());
	}
	
	
	/**
	 * @param idVeiculo
	 * @param fabricante
	 * @param modelo
	 * @param ano
	 * @param qtdPortas
	 * @param cor
	 * @param placa
	 * @param combustivel
	 * @param status
	 * @return
	 */
	public VeiculoTO getVeiculo( Integer idVeiculo, String fabricante, String modelo,
						int ano,int qtdPortas, String cor, String placa, String combustivel,String status){
		veiculo = new VeiculoTO( idVeiculo, fabricante, modelo, ano, qtdPortas,
				cor, placa, combustivel, status);
		return veiculo;
	}
	
	
	/**
	 * @param idVeiculo
	 * @return
	 */
	public VeiculoTO getVeiculo( int idVeiculo){
		veiculo = new VeiculoTO( idVeiculo);
		return veiculo;
	}
	
	/**
	 * @return
	 */
	public VeiculoTO getVeiculo(){
		return new VeiculoTO();
	}
	
	
	
	/**
	 * @param veiculo
	 */
	private void setVeiculo(VeiculoTO veiculo){
		this.veiculo = veiculo;
	}
	
	
	
	/**
	 * @param idCliente
	 * @param idPessoa
	 * @param cnh
	 */
	public ClienteTO getCliente(Integer idCliente, Integer idPessoa, String cnh) {
		cliente = new ClienteTO(idCliente, idPessoa, cnh);
		return cliente;
	}
	
	/**
	 * @param idCliente
	 */
	public ClienteTO getCliente(Integer idCliente) {
		cliente = new ClienteTO(idCliente);
		return cliente;
	}
	
	/**
	 * 
	 */
	public ClienteTO getCliente() {
		return new ClienteTO();
	}
	

	/**
	 * @param cliente the cliente to set
	 */
	public void setCliente(ClienteTO cliente) {
		this.cliente = cliente;
	}
/*
	public EnderecoTO getEndereco(Integer idEndereco, String end, String telefone) {
		endereco = new EnderecoTO(idEndereco, end,  telefone);
		return endereco;
	}
	
	
	public EnderecoTO getEndereco(Integer idEndereco) {
		endereco = new EnderecoTO(idEndereco);
		return endereco;
	}
	
	public EnderecoTO getEndereco() {
		return new EnderecoTO();
	}


	public void setEndereco(EnderecoTO endereco) {
		this.endereco = endereco;
	}
*/
	/**
	 * @param idFatura
	 * @param dataEmissao
	 * @param valorTotal
	 * @param idLocacao
	 */
	public FaturaTO getFatura(Integer idFatura, Date dataEmissao, float valorTotal,
			Integer idLocacao) {
		fatura = new FaturaTO(idFatura, dataEmissao, valorTotal, idLocacao);
		return fatura;
	}
	
	/**
	 * @param idFatura
	 */
	public FaturaTO getFatura(Integer idFatura) {
		fatura = new FaturaTO(idFatura);
		return fatura;
	}
	
	/**
	 * 
	 */
	public FaturaTO getFatura() {
		return new FaturaTO();
	}
	


	/**
	 * @param fatura the fatura to set
	 */
	public void setFatura(FaturaTO fatura) {
		this.fatura = fatura;
	}

	/**
	 * @param idFuncionario
	 * @param idPessoa
	 * @param dataAdmissao
	 * @param status
	 */
	public FuncionarioTO getFuncionario(Integer idFuncionario, Integer idPessoa,
			Date dataAdmissao, String status) {
		funcionario = new FuncionarioTO(idFuncionario, idPessoa, dataAdmissao, status);
		return funcionario;
	}
	
	
	/**
	 * @param idFuncionario
	 */
	public FuncionarioTO getFuncionario(Integer idFuncionario) {
		funcionario = new FuncionarioTO(idFuncionario);
		return funcionario;
	}
	
	/**
	 * 
	 */
	public FuncionarioTO getFuncionario() {
		return new FuncionarioTO();
	}


	/**
	 * @param funcionario the funcionario to set
	 */
	public void setFuncionario(FuncionarioTO funcionario) {
		this.funcionario = funcionario;
	}

	/**
	 * @param itemServico
	 * @param idServico
	 * @param quantidadeServico
	 * @param valorUnitario
	 */
	public ItemServicoTO getItemServico(Integer idLocacao, Integer idServico,
			Integer quantidadeServico, float valorUnitario) {
		itemServico = new ItemServicoTO(idLocacao, idServico, quantidadeServico, valorUnitario);
		return itemServico;
	}
	
	/**
	 * @param itemServico
	 */
	public ItemServicoTO getItemServico(Integer idLocacao, Integer idServico) {
		itemServico = new ItemServicoTO(idLocacao, idServico);
		return itemServico;
	}

	/**
	 * 
	 */
	public ItemServicoTO getItemServico() {
		return new ItemServicoTO();
	}


	


	/**
	 * @param itemServico the itemServico to set
	 */
	public void setItemServico(ItemServicoTO itemServico) {
		this.itemServico = itemServico;
	}
	
	/**
	 * @param idLocacao
	 * @param idVeiculo
	 * @param quantidadeDiaria
	 * @param valorDiaria
	 */
	public ItemVeiculoTO getItemVeiculo(Integer idLocacao, Integer idVeiculo,
			Integer quantidadeDiaria, float valorDiaria) {
		itemVeiculo = new ItemVeiculoTO(idLocacao, idVeiculo, quantidadeDiaria, valorDiaria);
		return itemVeiculo;
	}

	
	/**
	 * @param idLocacao
	 */
	public ItemVeiculoTO getItemVeiculo(Integer idLocacao, Integer idVeiculo) {
		itemVeiculo = new ItemVeiculoTO(idLocacao, idVeiculo);
		return itemVeiculo;
	}
	

	/**
	 * 
	 */
	public ItemVeiculoTO getItemVeiculo() {
		return new ItemVeiculoTO();
	}
	

	/**
	 * @param itemVeiculo the itemVeiculo to set
	 */
	public void setItemVeiculo(ItemVeiculoTO itemVeiculo) {
		this.itemVeiculo = itemVeiculo;
	}
	/**
	 * @param idLocacao
	 * @param dataRetirada
	 * @param dataDevolucao
	 * @param observacao
	 * @param idCliente
	 * @param idFuncionario
	 */
	public LocacaoTO getLocacao(Integer idLocacao, Date dataRetirada, Date dataDevolucao,
			String observacao, Integer idCliente, Integer idFuncionario) {
		locacao = new LocacaoTO(idLocacao, dataRetirada, dataDevolucao, observacao, idCliente, idFuncionario);
		return locacao;
	}
	

	/**
	 * @param idLocacao
	 */
	public LocacaoTO getLocacao(Integer idLocacao) {
		locacao = new LocacaoTO(idLocacao);
		return locacao;
	}
		

	/**
	 * 
	 */
	public LocacaoTO getLocacao() {
		return new LocacaoTO();
	}
	
	/**
	 * @param locacaoTO the locacaoTO to set
	 */
	public void setLocacaoTO(LocacaoTO locacao) {
		this.locacao = locacao;
	}

	/**
	 * @param idPessoa
	 * @param nome
	 * @param dataNascimento
	 */
	public PessoaTO getPessoa(Integer idPessoa, String nome, Date dataNascimento, String endereco, String telefone) {
		pessoa = new PessoaTO(idPessoa, nome, dataNascimento, endereco, telefone);
		return pessoa;
	}
	

	/**
	 * @param idPessoa
	 */
	public PessoaTO getPessoa(Integer idPessoa) {
		pessoa = new PessoaTO(idPessoa);
		return pessoa;
	}

	
	/**
	 * 
	 */
	public PessoaTO getPessoa() {
		return new PessoaTO();
	}

	/**
	 * @param pessoa the pessoa to set
	 */
	public void setPessoa(PessoaTO pessoa) {
		this.pessoa = pessoa;
	}
	
	/**
	 * @param idServico
	 * @param descricaoServico
	 */
	public ServicoTO getServico(Integer idServico, String descricaoServico, float valorUnitario) {
		servico = new ServicoTO(idServico, descricaoServico, valorUnitario);
		return servico;
	}


	
	/**
	 * @param idServico
	 */
	public ServicoTO getServico(Integer idServico) {
		servico = new ServicoTO(idServico);
		return servico;
	}

	/**
	 * 
	 */
	public ServicoTO getServico() {
		return new ServicoTO();
	}
	
	

	/**
	 * @param servico the servico to set
	 */
	public void setServico(ServicoTO servico) {
		this.servico = servico;
	}


	/**
	 * @return
	 */
	public String getRelatorio(){
		return null;
	}

}